package com.kll.tv.utils

//class FileUploadUtils() {
//
//    fun getFileAbsolutePath(imageUri: Uri): String? {
//        if (imageUri == null) {
//            return null
//        }
//
//        // 4.4以下
//        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
////            return getRealFilePath(context, imageUri);
//            return null
//        }
//
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.Q && DocumentsContract.isDocumentUri(this, imageUri)) {
//            if (isExternalStorageDocument(imageUri)) {
//                var docId = DocumentsContract.getDocumentId(imageUri)
//                var split = docId.split(":")
//                var type = split[0]
//                if ("primary" == type.lowercase()) {
//                    return "${Environment.getExternalStorageDirectory()}/${split[1]}"
//                }
//            } else if (isDownloadsDocument(imageUri)) {
//                var id = DocumentsContract.getDocumentId(imageUri);
//                var contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), id.toLong());
//                return getDataColumn( contentUri, null, null);
//            } else if (isMediaDocument(imageUri)) {
//                var docId = DocumentsContract.getDocumentId(imageUri);
//                var split = docId.split(":");
//                var type = split[0];
//                var contentUri: Uri? = null
//                if ("image" == type) {
//                    contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
//                } else if ("video" == type) {
//                    contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
//                } else if ("audio" == type) {
//                    contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
//                }
//                var selection = MediaStore.Images.Media._ID + "=?";
//                var selectionArgs = arrayOf(split[1])
//                return getDataColumn(contentUri, selection, selectionArgs);
//            }
//        }
//
//        // MediaStore (and general)
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){
//            return uriToFileApiQ(imageUri);
//        }
//        else if ("content" == imageUri.scheme?.lowercase()) {
//            // Return the remote address
//            if (isGooglePhotosUri(imageUri)) {
//                return imageUri.lastPathSegment;
//            }
//            return getDataColumn( imageUri, null, null);
//        }
//        // File
//        else if ("file" == imageUri.scheme?.lowercase()) {
//            return imageUri.path;
//        }
//        return null
//    }
//
//    private fun isExternalStorageDocument(uri: Uri): Boolean {
//        return "com.android.externalstorage.documents" == uri.authority
//    }
//
//    private fun isDownloadsDocument(uri: Uri) :Boolean {
//        return "com.android.providers.downloads.documents" == uri.authority
//    }
//
//    private fun getDataColumn(uri: Uri?, selection: String?, selectionArgs: Array<String>?): String? {
//        var cursor: Cursor? = null
//        var column = MediaStore.Images.Media.DATA
//        var projection = arrayOf(column);
//        try {
//            cursor = getContentResolver().query(uri!!, projection, selection, selectionArgs, null)!!;
//            if (cursor != null && cursor.moveToFirst()) {
//                var index = cursor.getColumnIndexOrThrow(column);
//                return cursor.getString(index);
//            }
//        } finally {
//            cursor?.close()
//        }
//        return null
//    }
//
//    private fun isMediaDocument(uri: Uri): Boolean {
//        return "com.android.providers.media.documents" == uri.authority
//    }
//
//    @RequiresApi(Build.VERSION_CODES.Q)
//    private fun uriToFileApiQ(uri: Uri?): String? {
//        var file: File? = null;
//        //android10以上转换
//        if (uri!!.scheme.equals(ContentResolver.SCHEME_FILE)) {
//            file = File(uri.path);
//        } else if (uri!!.scheme.equals(ContentResolver.SCHEME_CONTENT)) {
//            //把文件复制到沙盒目录
////            var contentResolver = contentResolver;
//            var cursor = contentResolver.query(uri!!, null, null, null, null);
//            if (cursor!!.moveToFirst()) {
//                var displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
//                try {
//                    var inputStream = contentResolver.openInputStream(uri);
//                    var cache = File(externalCacheDir!!.absolutePath, "${((Math.random() + 1) * 1000).roundToInt()}${displayName}")
//                    var fos = FileOutputStream(cache)
//                    FileUtils.copy(inputStream!!, fos)
//                    file = cache;
//                    fos.close();
//                    inputStream?.close();
//                } catch (e: IOException) {
//                    e.printStackTrace();
//                }
//            }
//        }
//        return file?.absolutePath;
//    }
//
//    private fun isGooglePhotosUri(uri: Uri): Boolean {
//
//        return "com.google.android.apps.photos.content" == uri.authority
//    }
//
//}